import 'package:flutter/material.dart';

// 程序入口，启动 Flutter 应用
void main() {
  runApp(const MyApp());
}

// 应用的主类，继承 StatelessWidget，因为应用本身不管理状态
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '内边距示例', // 标题为更简洁的中文
      theme: ThemeData(
        primarySwatch: Colors.purple, // 添加主题色 purple
        textTheme: const TextTheme(
          bodyMedium: TextStyle(
            fontSize: 16,
            color: Colors.black87,
          ), // 设置默认文字样式
        ),
      ),
      home: const HomePage(),
    );
  }
}

// 主页面，包含 Scaffold 和 PaddingTestRoute
class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('内边距使用演示'), // 标题稍作调整
        centerTitle: true, // 标题居中
      ),
      body: const Center(child: PaddingTestRoute()),
    );
  }
}

// 内边距演示页面，展示不同 Padding 配置的效果
class PaddingTestRoute extends StatelessWidget {
  const PaddingTestRoute({super.key});

  @override
  Widget build(BuildContext context) {
    return Padding(
      // 为整个 Column 添加统一的 20 像素内边距
      padding: const EdgeInsets.all(20), // 从 16 为 20
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start, // 左对齐，排除对齐干扰
        mainAxisSize: MainAxisSize.min, // 使 Column 只占用必要空间
        children: <Widget>[
          // 第一个文本：仅左边添加内边距
          Padding(
            padding: const EdgeInsets.only(left: 10), // 从 8 为 10
            child: Text(
              '你好，世界！', // 文本为中文
              style: const TextStyle(
                fontSize: 18, // 添加字体大小
                color: Colors.purple, // 添加颜色
              ),
            ),
          ),
          const SizedBox(height: 12), // 添加间距
          // 第二个文本：上下添加对称内边距
          Padding(
            padding: const EdgeInsets.symmetric(vertical: 10), // 从 8 为 10
            child: Text(
              '我是 Alice', // 文本为中文并更换名字
              style: const TextStyle(
                fontSize: 18,
                color: Colors.purpleAccent, // 添加颜色
              ),
            ),
          ),
          const SizedBox(height: 12), // 添加间距
          // 第三个文本：指定四个方向的内边距
          Padding(
            padding: const EdgeInsets.fromLTRB(15, 0, 15, 15), // 调整数值
            child: Text(
              '你的朋友', // 文本为中文
              style: const TextStyle(
                fontSize: 18,
                color: Colors.deepPurple, // 添加颜色
              ),
            ),
          ),
        ],
      ),
    );
  }
}
